package com.uaroadshow.tencent.handle;

import com.uaroadshow.tencent.entity.webauth.WebAuth;
import com.uaroadshow.tencent.entity.webauth.WebAuthClient;
import com.uaroadshow.tencent.entity.webauth.WebAuthConfig;



/**
 * 
 * @author mohanlan
 *
 */
public interface WebAuthHandler {
    
    /**
     * 
     * @param webAuth
     * @param authClient
     * @return
     */
    public boolean validate(WebAuth webAuth, WebAuthClient authClient);
    
    /**
     * 
     * @param webAuth
     * @param config
     * @return
     */
    public String prepare(WebAuth webAuth, WebAuthConfig config);
    
    /**
     * 
     * @param state
     * @return
     */
    public boolean validate(String state);
    
    /**
     * 
     * @param code
     * @param state
     * @return
     */
    public String process(String code, String state);
    
}
